#pragma once

#include "IXFrame.h"

/**
 *  IXVertLayout Interface.
 *
 */

typedef enum
{
    Layout_Vert,
    Layout_Horz,
} eLayoutType;

class ExportXSkinLib IXLayout : public IXFrame
{
    DEF_INTERFACE(IXLayout, _T("{BA8120F9-18F6-4bca-9425-57D3A4CC07B4}"));

public:
    virtual void STDMETHODCALLTYPE   SetLayoutType(IN eLayoutType type) = 0;
    virtual eLayoutType STDMETHODCALLTYPE   GetLayoutType() = 0;

    virtual void STDMETHODCALLTYPE   AutoSizeChilds() = 0;

    virtual void STDMETHODCALLTYPE   EnableScrollBar(BOOL bEnable) = 0;
    virtual BOOL STDMETHODCALLTYPE   IsScrollBarEnabled() = 0;

    virtual void STDMETHODCALLTYPE   SetScrollLine(IN int nLineHeight) = 0;
    virtual int  STDMETHODCALLTYPE   GetScrollLine() = 0;

    virtual int  STDMETHODCALLTYPE   GetFirstVisibleIndex() = 0;
    virtual int  STDMETHODCALLTYPE   GetVisibleCount() = 0;

    virtual void STDMETHODCALLTYPE   EnsureVisible(IXControl* pChild) = 0;
};

